import modelo.Modelo;
import modelo.funciones.Constante;
import modelo.funciones.Potencia;
import controlador.CreadorDeFuncion;
import vista.Lista;
import vista.VistaGraficador;
import vista.VistaLista;
import vista.VistaPrincipal;


public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Modelo modelo=new Modelo();
		modelo.agregarFuncion(new Potencia(1),"f(x)=x");
		modelo.agregarFuncion(new Constante(10),"f(x)=3");
		modelo.agregarFuncion(new Potencia(2),"f(x)=x^2");
		CreadorDeFuncion creador=new CreadorDeFuncion(modelo);
		VistaGraficador vistaGraficador= new VistaGraficador(modelo);
		VistaLista vistaLista= new VistaLista(new Lista(modelo));
		vistaLista.addListSelectionListener(vistaGraficador);
		modelo.agregarObservador(vistaLista);
		VistaPrincipal vista= new VistaPrincipal(creador,vistaLista,vistaGraficador);
	}

}
